package com.chenchen.practice.server.service;

import com.chenchen.practice.api.common.PageResult;
import com.chenchen.practice.api.req.GetPracticeSubjectsReq;
import com.chenchen.practice.api.req.GetUnCompletePracticeReq;
import com.chenchen.practice.api.vo.*;
import com.chenchen.practice.server.entity.dto.PracticeSetDTO;
import com.chenchen.practice.server.entity.dto.PracticeSubjectDTO;

import java.util.List;

/**
 * ClassName PracticeSetService
 * description:
 *
 * @author 海问香
 * @createTime 2024/8/31 22:20
 */
public interface PracticeSetService {

    /**
     * 获取专项练习内容
     * @return
     */
    List<SpecialPracticeVO> getSpecialPracticeContent();


    /**
     * 开始练习
     * @param dto
     * @return
     */
    PracticeSetVO addPractice(PracticeSubjectDTO dto);

    /**
     * 获取练习题
     * @param req
     * @return
     */
    PracticeSubjectListVO getSubjects(GetPracticeSubjectsReq req);

    /**
     * 获取题目详情
     * @param dto
     * @return
     */
    PracticeSubjectVO getPracticeSubject(PracticeSubjectDTO dto);


    /**
     * 获取模拟套题内容
     * @param dto
     * @return
     */
    PageResult<PracticeSetVO> getPreSetContent(PracticeSetDTO dto);

    /**
     * 获取未完成练习内容
     */
    PageResult<UnCompletePracticeSetVO> getUnCompletePractice(GetUnCompletePracticeReq req);
}
